package com.axxc.cloud.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.fasterxml.jackson.annotation.JsonFormat;

import tk.mybatis.mapper.annotation.KeySql;
import tk.mybatis.mapper.code.IdentityDialect;

@Table(name = "t_base_system_execute_log") // 实体和表名映射
public class BaseSystemExecuteLogEntity implements Serializable {

	private static final long serialVersionUID = 1L;
	@Id // 指定主键
	@KeySql(dialect = IdentityDialect.MYSQL) // 返回主键.,使用mysql数据库方式
	private Integer id;
	/**
	 * 数据库名
	 */
	private String executeDateBaseName;
	/**
	 * 表名
	 */
	private String executeTableName;
	/**
	 * 服务器IP
	 */
	private String serviceIp;
	/**
	 * 客户端IP
	 */
	private String clientIp;

	/**
	 * 执行的类名
	 */
	private String executeClassName;
	/**
	 * 执行请求方法名
	 */
	private String executeMethodName;
	/**
	 * 执行方法参数
	 */
	private String executeMethodArgs;

	/**
	 * 方法执行接口,0=false,1=true
	 */
	private Integer executeStatus;

	/**
	 * 执行错误的类名
	 */
	private String executeErrorClassName;
	/**
	 * 执行错误的消息
	 */
	private String executeErrorMsg;

	/**
	 * 执行时间,单位:毫秒/ms
	 */
	private Integer executeTime;

	/**
	 * 方法执行次数
	 */
	private Integer executeCount;
	/**
	 * 维护人所属组Id
	 */
	private Integer ownerGroupId;

	/**
	 * 执行方法参数个数,防止方法重载
	 */
	private Integer executeMethodArgsNumber;

	/**
	 * 执行方法性质,对应增删改查
	 */
	private String executeMethodType;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@Temporal(TemporalType.TIMESTAMP)
	private Date createTime;

	/**
	 * 修改时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@Temporal(TemporalType.TIMESTAMP)
	private Date updateTime;

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getExecuteDateBaseName() {
		return executeDateBaseName;
	}

	public void setExecuteDateBaseName(String executeDateBaseName) {
		this.executeDateBaseName = executeDateBaseName;
	}

	public String getExecuteTableName() {
		return executeTableName;
	}

	public void setExecuteTableName(String executeTableName) {
		this.executeTableName = executeTableName;
	}

	public String getExecuteClassName() {
		return executeClassName;
	}

	public void setExecuteClassName(String executeClassName) {
		this.executeClassName = executeClassName;
	}

	public String getExecuteMethodName() {
		return executeMethodName;
	}

	public void setExecuteMethodName(String executeMethodName) {
		this.executeMethodName = executeMethodName;
	}

	public String getExecuteMethodArgs() {
		return executeMethodArgs;
	}

	public void setExecuteMethodArgs(String executeMethodArgs) {
		this.executeMethodArgs = executeMethodArgs;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public String getServiceIp() {
		return serviceIp;
	}

	public void setServiceIp(String serviceIp) {
		this.serviceIp = serviceIp;
	}

	public String getClientIp() {
		return clientIp;
	}

	public void setClientIp(String clientIp) {
		this.clientIp = clientIp;
	}

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	public Integer getExecuteStatus() {
		return executeStatus;
	}

	public void setExecuteStatus(Integer executeStatus) {
		this.executeStatus = executeStatus;
	}

	public String getExecuteErrorClassName() {
		return executeErrorClassName;
	}

	public void setExecuteErrorClassName(String executeErrorClassName) {
		this.executeErrorClassName = executeErrorClassName;
	}

	public String getExecuteErrorMsg() {
		return executeErrorMsg;
	}

	public void setExecuteErrorMsg(String executeErrorMsg) {
		this.executeErrorMsg = executeErrorMsg;
	}

	public Integer getExecuteTime() {
		return executeTime;
	}

	public void setExecuteTime(Integer executeTime) {
		this.executeTime = executeTime;
	}

	public Integer getExecuteCount() {
		return executeCount;
	}

	public void setExecuteCount(Integer executeCount) {
		this.executeCount = executeCount;
	}

	public Integer getOwnerGroupId() {
		return ownerGroupId;
	}

	public void setOwnerGroupId(Integer ownerGroupId) {
		this.ownerGroupId = ownerGroupId;
	}

	public Integer getExecuteMethodArgsNumber() {
		return executeMethodArgsNumber;
	}

	public void setExecuteMethodArgsNumber(Integer executeMethodArgsNumber) {
		this.executeMethodArgsNumber = executeMethodArgsNumber;
	}

	public String getExecuteMethodType() {
		return executeMethodType;
	}

	public void setExecuteMethodType(String executeMethodType) {
		this.executeMethodType = executeMethodType;
	}

}
